package com.hl233.system.util;

/**
 * @author 张振强15065206763
 * @create 2024-09-10
 */
public class RecursionTest {

    public static void main(String[] args) {

        System.out.println("5的阶乘"+f(5));

        System.out.println("100的加法:"+j(100));

        System.out.println("猴子摘到的桃子数量:"+ff(1));
    }

    /**
     * 乘积
     * @param n
     * @return
     */
    public static int f(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n * f(n - 1);
        }
    }

    /**
     * 1加到100的和
     * @param n
     * @return
     */
    public static int j(int n) {
        if (n == 1) {
            return 1;
        } else {
            return n + j(n - 1);
        }
    }

    /**
     * 猴子摘桃.吃了十天每天吃一半,第十天剩1个
     * @param n
     * @return
     */
    public static int ff(int n) {
        if (n == 10) {
            return 1;
        } else {
            return 2 * ff(n + 1)+2;
        }
    }
}
